export default {
  data() {
    return {}
  },
  methods: {
    getTextWidth(str) {
      let width = 0
      const html = document.createElement('span')
      html.innerText = str
      html.className = 'getTextWidth'
      document.querySelector('body').appendChild(html)
      width = document.querySelector('.getTextWidth').offsetWidth * 1.2
      document.querySelector('.getTextWidth').remove()
      return width
    },
    flexColumnWidth(label, prop, data) {
      // 将表头加入数组
      const arr = data.map((x) => x[prop])
      arr.push(label)
      // 计算每列内容最大的宽度
      const maxWidth = arr.reduce((acc, item) => {
        if (item) {
          const width = this.getTextWidth(item)
          acc = Math.max(acc, width)
        }
        return acc
      }, 0)
      // 返回最大宽度加上额外的内间距
      return maxWidth + 25 + 'px'
    }
  }
}
